package com.tangruojie.domain.dto;

import com.tangruojie.domain.entity.UserTeacher;
import com.tangruojie.enums.UserSex;
import lombok.Data;

/**
 * 项目	            User	                                UserDTO
 * 全称	            实体类（Entity / Domain / PO）	        数据传输对象（Data Transfer Object）
 * 所在层	        持久化层（DAO、MyBatis）	                接口/控制器层（Controller、Service）
 * 作用	            与数据库表字段一一对应，映射 ORM	            用于控制器与前端/客户端之间数据交互
 * 包含内容	        所有表字段、注解（如@TableField、@Id）	    仅包含需要暴露给前端的数据字段
 * 是否映射数据库	    ✅ 是，MyBatis-Plus ORM 直接使用	        ❌ 否，不会被 ORM 映射操作
 * 是否可以复用	    ❌ 不建议直接对外暴露	                    ✅ 安全、灵活、解耦
 */
@Data
public class UserDTO {

    private Long id;
    private String name;
    private UserSex sex;
    private String password;
    private Integer age;
    private String telephone;
    private UserTeacher userTeacher;

}
